"""
@Project ：Python_Learning 
@File    ：对对碰.py
@IDE     ：PyCharm 
@Author  ：zhupp
@Date    ：2024/11/20 20:22 
"""
import random

color_list = ['green', 'red', 'purple', 'yellow', 'blue', 'white']
# 最初手上的颜色
init_have = [color_list[random.randint(0, 5)] for i in range(5)]
print(init_have)
# 当前手上的颜色
cur_have = init_have
# 最后手上的颜色
total_have = []

# hope_color = input("请输入许愿色：")
#
flag =True
while flag:

    # 检查当前手上有对子的情况

    # # 检查许愿色在不在当前手上的颜色中
    # while hope_color in cur_have:
    #     total_have.append(hope_color)
    #     cur_have.remove(hope_color)
    #     cur_have.append(color_list[random.randint(0, 5)])
    #

    # 如果手上相同颜色的牌为单数 则添加到新的当前牌中 碰掉的牌计入total
    # 并抽取抽取碰掉次数的牌 添加到当前手牌中
    cur_have_new = []
    for color in color_list:
        if cur_have.count(color) % 2 == 1:
            cur_have_new.append(color)
            for cur in cur_have:
                if cur == color:
                    cur_have.remove(color)
                    break
            total_have.extend(cur_have)
            cur_have = cur_have_new
    print(cur_have)
    print(cur_have_new)


    flag = False
    # cur_have_new = []
    # for color in color_list:
    #     if cur_have.count(color) % 2 == 1:
    #         cur_have_new.append(color)
    #
    #         for cur in cur_have:
    #             if cur == color:
    #                 cur_have.remove(color)
    # total_have.extend(cur_have)  # 将碰掉的牌加到总获得的牌中
    # cur_have = cur_have_new  # 将剩余的牌变成当前牌

    # # 4.重新抽取碰掉次数的牌
    # for _ in range(count):
    #     cur_have.append(color_list[random.randint(0, 5)])
    #
    # # 5.如果当前手牌中的颜色没有重复并且没有幸运色则退出
    # if list(set(cur_have)) == cur_have and hope_color not in cur_have:
    #     total_have.extend(cur_have)
    #     break

# print(f'最终手上的牌{total_have},一共{len(total_have)}包')
